<?
	function CrearFoto($url,$newnombre=NULL,$w=0,$h=0)
	{
		$imagen = @imagecreatefromjpeg($url);
		$ancho = @imagesx($imagen);
		$alto = @imagesy($imagen);
		
		$inix = 0;
		$iniy = 0;
		$dx = $ancho;
		$dy = $alto;
		
		if($h==0&&$w>0) $h = $w * ($alto / $ancho);
		else if($w==0&&$h>0) $w = $h * ($ancho/ $alto);
		else {
			$tmp = $h*$ancho/$w;
			$inix = 0;
			$iniy = ($alto-$tmp)/2;
			$dx = $ancho;
			$dy = $tmp;
			if($tmp>$alto){
				$tmp = $w*$alto/$h;
				$inix = ($ancho-$tmp)/2;
				$iniy = 0;
				$dx = $tmp;
				$dy = $alto;
			}
		}
				
		$img = @imagecreatetruecolor($w, $h);
		@imagecopyresampled($img, $imagen, 0, 0, $inix, $iniy, $w, $h, $dx, $dy);
		if($newnombre==NULL)header("Content-type: image/jpeg");
		@imagejpeg($img,$newnombre,90);
		@imagedestroy($img);
		touch($newnombre, filemtime($url));
	}

	function AbrirFoto($archivo, $dir, $w, $h, $folder='thumbs/')
	{
		$w = empty($w) ? '0' : $w;
		$h = empty($h) ? '0' : $h;
		//$nombre = $folder.'/'.$id.'_'.$w.'x'.$h.'.jpg';
		$pieza = str_replace($dir, '', $archivo);
		$nombre = $folder . str_replace('.jpg', '', $pieza) . '_' . $w . 'x' . $h . '.jpg';
		//if(!file_exists($nombre)) CrearFoto($archivo,$nombre,$w,$h);
		if(!file_exists($nombre) || (filemtime($archivo) > filemtime($nombre))) CrearFoto($archivo,$nombre,$w,$h);
		return $nombre;
	}
	
	if (!function_exists('json_encode')) { // PHP 5.2.0
		function json_encode($a=false) {
			if (is_null($a)) return 'null';
			if ($a === false) return 'false';
			if ($a === true) return 'true';
			if (is_scalar($a)) {
				if (is_float($a)) {
					return floatval(str_replace(",", ".", strval($a)));
				}
				if (is_string($a)) {
					static $jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
					return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
				}
				else return $a;
			}
			$isList = true;
			for ($i = 0, reset($a); $i < count($a); $i++, next($a)) {
				if (key($a) !== $i) {
					$isList = false;
					break;
				}
			}
			$result = array();
			if ($isList) {
				foreach ($a as $v) $result[] = json_encode($v);
				return '[' . join(',', $result) . ']';
			}
			else {
				foreach ($a as $k => $v) $result[] = json_encode($k).':'.json_encode($v);
				return '{' . join(',', $result) . '}';
			}
		}
	}
?>